//
//  main.cpp
//  类和对象练习 2
//
//  Created by 卜绎皓 on 2022/9/24.
//

#include <iostream>

class A
{
public:
    A(int a = 0)
    {
        _a = a;
        std::cout << "A(int a = 0)" << std::endl;
    }
    A& operator=(const A& aa)//不写也行，因为这里只有内置类型，默认生成的就可以完成
    {
        std::cout << "A& operator=(const A& aa)" << std::endl;
        if(this != &aa)
        {
            _a = aa._a;
        }
        return *this;
    }
private:
    int _a;
};
class B
{
public:
    B(int a, int b)
    {
        //_aa._a = a;//err:无法访问private成员
        
        /*A aa(a);
        _aa = aa;*/
        _aa = A(a);//简化版，同上
        
        _b = b;
    }
private:
    int _b = 1;
    A _aa;
};
int main()
{
    B b(10, 20);
    return 0;
}

